
thinkingParticles offers an advanced function in the Paint
Operator that lets you paint on other objects with particles. Each impact
of a particle on an object’s surface will create a color splash or other
material effect. This collision detection is face-accurate and it will
be calculated whenever the ON input data stream receives a True condition,
or continually, if nothing is piped into the ON stream. In order to paint
on the surface of an object, you will use a special TP_TexMap
texture map to do the job. This texture map is specifically designed to
paint on the object's surface when a particle collides with it.
Keep in mind that collision detection can be a very time consuming effect and the processing time increases by the square of the increased number of faces and particles.
ON - (Bool) This input data
stream determines whether the operator is considered 'on' or 'off.' You
can connect other operators to this input channel such as a Bool
Helper to activate/deactivate the whole operator.
Time - (Time) This input data stream is used to define the local
time for the operator when the user wants to override the default system
time.
Particle - (Particle) This input data stream reads in the currently
selected particle group to be used when painting the collision object.
The data stream MUST be connected and will be highlighted
yellow if it is not.
Time - (Time) This output
data stream sends out the time value
Position - (Position) This output data stream sends the position
data for all of the collision paint points.
Alignment - (Alignment) This output data stream sends out the
alignment data for all of the particles that collide and paint on the
surface.
Collision Velocity - (Velocity) This output data stream sends
out the velocity of the particles that collide and paint on the selected
surface.
Blend Intensity - (Intensity) This output data stream defines
how much the map is blended (value 0-1). This depends also on the gradient
and blending time.

Pick Object - Activate this button and select the object from
your scene that you want to be painted by particle impacts.
Select TP_Texmap - Click this button to open the standard Material/Map
browser and select the TP_Texmap
texture map type with which you want to paint the object as particles
impact its surface. This button can also act as a Drag and Drop receiver
for any TP_Texmap
map.
Scale - This spinner's value sets the size of the map that should
be drawn at each particle impact point on the selected object’s surface.
It is important to note that the scale value is assigned in world units.
Scale Time - This spinner
sets the time in frames the TP_Texmap
map needs to get to its full size as set in the Scale spinner. By default,
the TP_Texmap is applied at the Scale value set above, and appears to
pop onto the surface. While a Scale Time of 0 can be good for effects
like bullet hits, it may not always be appropriate. For other effects
like raindrops, increase the Scale Time to give a more natural scaling
effect as the size is increased over the number of frames set in this
spinner.
The gradient below the Scale Time spinner controls the scale timing. The
left-hand edge of the gradient represents the start size and the right
hand edge represents the end size of the map as set in the Scale spinner.
A white color in this gradient means a map size as it is set in Scale
while a black color in the gradient means a zero map size. Intermediate
gray values create intermediate sizes throughout the scaling process.
Blend Time - This spinner controls the time in frames that it
takes until the TP_Texmap
map is fully visible. This feature works like alpha channel compositing
with standard bitmaps.
The gradient below the Blend Time spinner controls the blend timing. The
left-hand edge of the gradient represents the start blend value and the
right hand edge represents the end blending of the map as set in the Blend
Time spinner. A white color in this gradient means a map blending is fully
visible while a black color in the gradient means the map is completely
transparent. Intermediate gray values create intermediate blending values
throughout when a collision paint event occurs.
Remove Time - This spinner controls the time in frames that it
takes until the TP_Texmap
map is removed from the surface entirely.
To control how the map is painted on the object’s surface, choose one
of the following settings:
Original - Use this option to make each particle impact remove
a bit of the original map by revealing the “underlying paint” assigned
to the TP_Texmap operator. Be aware that these impacts may be very small
to begin with and you may need to set the Scale parameter higher in order
to see them.
When you have more than one map in the TP_Texmap map, they are cycled when impacts are generated.
UVW - This option uses the
UVW mapping channel selected below and the Scale factor of the map to
place the particle paint on the selected object’s surface.
3D Planar - Each impact of a particle on the object’s surface
is accurately calculated. With this option checked, the map is applied
depending on the point of impact and the surface orientation (normal).
It’s like planar mapping as seen from the point of impact.
3D - When this option is chosen, a procedural map is assigned
based on the 3D UV information of the selected object. The system takes
the collision point with its XYZ values and moves the map to it. When
you use a standard bitmap, you won't see any difference in how the mapping
is handled as it ONLY works with 3D procedural maps.
Make sure you understand that UVW space is a 0.0 to 1.0 space and so the Scale parameter must be adjusted accordingly to get the results you expect. For all other options the map scale is dependent on world units- it’s the actual size of the object that sets the dimensions.
Another thing to note is the use of the Material ID by the Paint Operator. Usually, all of the faces with the same Material ID will get the same map drawn by any particle impact. If you see the same map appearing on multiple sides of an object it’s because those faces use the same Material ID. Use 3D or 3D Planar to prevent this from happening.
Ignore Material ID checkbox
- When this checkbox is active, the painted map can "splash"
over different material IDs.
This set of options controls how the painted impact map is blended into
the original map of the object. In most cases you do not want to have
a crisp rectangular map appearing when a particle hits the surface. To
control this and get smooth blending towards the edges of the map, choose
one of the options listed below.
None - Select this option when you do not want to fade the impact
map towards the edges.
Rectangle - Activate this option to get a rectangular blend towards
the edges of the map.
Radial - Use this option to create a circular blend from the center
to the outer edges of the map.
Gradient - The Falloff gradient controls the blending from the
center to the outer edges of the map. A white color in the gradient makes
the map opaque and a black color in the gradient makes the map fully transparent.
Each position in the gradient represents a relevant position in the map
with the left-hand side of the gradient representing the center of the
map and the right-hand side of the gradient representing as the outer
edge of the map.
Front - Select this option
when you want the particle impact detection to work on the facing surfaces
to the particles.
Back - Select this option when you want the particle impact detection
to work on the backside surfaces to the particles.
Two - Select this option when you want the particle impact detection
to work on both the facing and backside surfaces to the particles.
Collision Offset - thinkingParticles uses advanced techniques
to calculate the exact point of impact on the object’s surface. Each particle
that hits or crosses the surface of an object creates a color change or
map change at the exact point of impact. However, you can also use a feature
that creates a collision before the actual collision will happen. This
is done by using an offset to the particle. There are
three options to choose from.
None - Check this option to get the most accurate results for
plain particle collisions.
Particle - Use this option when you want to use the particle size
as an indicator for collisions.
Value - Check this option and set any size that should be used
to calculate a collision event.
Color - Any color set in this color swatch will be used to paint
on the object’s surface when there is no map chosen.